package com.ungs.bo.impl;

import java.util.ArrayList;
import java.util.List;

import com.ungs.bo.ProveedorBO;
import com.ungs.dao.ProveedorDAO;
import com.ungs.dao.impl.ProveedorDAOImpl;
import com.ungs.entities.Proveedor;
import com.ungs.utils.Constantes;

public class ProveedorBOImpl extends EntidadBOImpl<Proveedor> implements
		ProveedorBO {

	private ProveedorDAO proveedorDAO = new ProveedorDAOImpl();

	@Override
	public List<Proveedor> getProveedorByRazonSocial(String razonSocial,
			String cuit, boolean todos) {
		return proveedorDAO.getProveedorByRazonSocial(razonSocial, cuit, todos);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Proveedor> getAllProveedor() {
		List<Proveedor> proveedorList = (List<Proveedor>) getAll(Proveedor.class);
		List<Proveedor> proveedorReturn = new ArrayList<Proveedor>();

		logger.info("Obteniendo lista de proveedor con alta logica");
		for (Proveedor proveedor : proveedorList) {
			if (proveedor.getEstadoLogico().equals(Constantes.ALTA)) {
				proveedorReturn.add(proveedor);
			}
		}

		return proveedorReturn;
	}

	@Override
	public void eliminarProveedor(Proveedor proveedor) {
		logger.info("Baja logica proveedor: " + proveedor.getId());
		proveedor.setEstadoLogico(Constantes.BAJA);
		actualizar(proveedor);

	}

}
